package com.partvoyage.client.mvp2.view.menu;

import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.menu.IMenuButton;
import com.smartgwt.client.widgets.menu.Menu;
import com.smartgwt.client.widgets.menu.MenuItem;

public class MenuView extends HLayout implements MenuPresenter.Display {

	private Menu gestionDuProjetMenu;
	private MenuItem nouveauItem = new MenuItem("Nouveau",
			"images/menu/nouveau.png", "Ctrl+N");
	private MenuItem ouvrirItem = new MenuItem("Ouvrir",
			"images/menu/ouvrir.png", "Ctrl+O");
	private Menu ouvrirSousMenu = new Menu();
	private MenuItem sauverSousItem = new MenuItem("Sauvegarder sous",
			"images/sauversous.png", "Ctrl+S");

	private Menu wikipediaMenu;
	private MenuItem activerDesactiverWikipediaItem = new MenuItem("Activer",
			"images/menu/activerWikipediaItem.png", "Ctrl+W");

	private Menu photoPicassaMenu;
	private MenuItem activerDesactiverPhotoPicassaItem = new MenuItem(
			"Activer", "images/menu/activerPhotoPicassaItem.png", "Ctrl+W");

	private Menu carteMenu;
	private MenuItem supprimerPointCourantItem = new MenuItem(
			"Supprimer point courant",
			"images/menu/supprimerPointCourantItem.png");
	private MenuItem supprimerTousLesPointsItem = new MenuItem(
			"Supprimer tous les points",
			"images/menu/supprimerTousLesPointsItem.png");

	private final DynamicForm formAdressePourZoom = new DynamicForm();
	private TextItem adressePourZoomField;
	private IButton validateAdressePourZoom = new IButton();

	public MenuView() {
		setWidth100();
		setHeight100();

		gestionDuProjetMenu = new Menu();
		gestionDuProjetMenu.setShowShadow(true);
		gestionDuProjetMenu.setShadowDepth(10);
		ouvrirItem.setSubmenu(ouvrirSousMenu);
		gestionDuProjetMenu.setItems(nouveauItem, ouvrirItem, sauverSousItem);
		IMenuButton menuButton = new IMenuButton("Gestion du projet",
				gestionDuProjetMenu);
		menuButton.setWidth(120);
		this.addMember(menuButton);

		wikipediaMenu = new Menu();
		wikipediaMenu.setShowShadow(true);
		wikipediaMenu.setShadowDepth(10);
		wikipediaMenu.setItems(activerDesactiverWikipediaItem);
		IMenuButton wikipediaButton = new IMenuButton("Wikipedia",
				wikipediaMenu);
		wikipediaButton.setWidth(80);
		this.addMember(wikipediaButton);

		photoPicassaMenu = new Menu();
		photoPicassaMenu.setShowShadow(true);
		photoPicassaMenu.setShadowDepth(10);
		photoPicassaMenu.setItems(activerDesactiverPhotoPicassaItem);
		IMenuButton photoPicassaButton = new IMenuButton("Photo picasa",
				photoPicassaMenu);
		photoPicassaButton.setWidth(80);
		this.addMember(photoPicassaButton);

		carteMenu = new Menu();
		carteMenu.setShowShadow(true);
		carteMenu.setShadowDepth(10);
		carteMenu.setItems(supprimerPointCourantItem,
				supprimerTousLesPointsItem);
		IMenuButton carteButton = new IMenuButton("Carte", carteMenu);
		carteButton.setWidth(70);
		this.addMember(carteButton);

		formAdressePourZoom.setWidth(300);
		// form.setDataSource(dataSource);
		// ajout du champs de texte
		adressePourZoomField = new TextItem("adressePourZoom");
		formAdressePourZoom.setFields(adressePourZoomField);
		// ajout du bouton

		validateAdressePourZoom.setTitle("Ok");

		this.addMember(formAdressePourZoom);
		this.addMember(validateAdressePourZoom);
	}

	public MenuItem getNewItem() {
		return nouveauItem;
	}

	public void setNewItem(MenuItem newItem) {
		this.nouveauItem = newItem;
	}

	public MenuItem getOpenItem() {
		return ouvrirItem;
	}

	public void setOpenItem(MenuItem openItem) {
		this.ouvrirItem = openItem;
	}

	public MenuItem getSaveAsItem() {
		return sauverSousItem;
	}

	public void setSaveAsItem(MenuItem saveAsItem) {
		this.sauverSousItem = saveAsItem;
	}

	public Menu getOpenSubMenu() {
		return ouvrirSousMenu;
	}

	public void setOpenSubMenu(Menu openSubMenu) {
		this.ouvrirSousMenu = openSubMenu;
	}

	public MenuItem getActiverWikipediaItem() {
		return activerDesactiverWikipediaItem;
	}

	public void setActiverWikipediaItem(MenuItem activerWikipediaItem) {
		this.activerDesactiverWikipediaItem = activerWikipediaItem;
	}

	public Menu getWikipediaMenu() {
		return wikipediaMenu;
	}

	public void setWikipediaMenu(Menu wikipediaMenu) {
		this.wikipediaMenu = wikipediaMenu;
	}

	public MenuItem getActiverPhotoPicassaItem() {
		return activerDesactiverPhotoPicassaItem;
	}

	public void setActiverPhotoPicassaItem(MenuItem activerPhotoPicassaItem) {
		this.activerDesactiverPhotoPicassaItem = activerPhotoPicassaItem;
	}

	public Menu getPhotoPicassaMenu() {
		return photoPicassaMenu;
	}

	public void setPhotoPicassaMenu(Menu photoPicassaMenu) {
		this.photoPicassaMenu = photoPicassaMenu;
	}

	public MenuItem getSupprimerPointCourantItem() {
		return supprimerPointCourantItem;
	}

	public MenuItem getSupprimerTousLesPointsItem() {
		return supprimerTousLesPointsItem;
	}

	public DynamicForm getFormAdressePourZoom() {
		return formAdressePourZoom;
	}

	public IButton getValidateAdressePourZoom() {
		return validateAdressePourZoom;
	}

	public TextItem getAdressePourZoomField() {
		return adressePourZoomField;
	}

}
